package com.hqq.action.inherit.template;

/**
 * TemplateTest
 * 模板方法模式
 * 一个抽象类中，有一个主方法，再定义1...n个方法，可以是抽象的，也可以是实际的方法，
 * 定义一个类，继承该抽象类，重写抽象方法，通过调用抽象类，实现对子类的调用
 * Created by heqianqian on 2017/3/11.
 */
public class TemplateTest {

    public static void main(String[] args) {
        AbstractCalculator calculator = new Plus();
        System.out.println( calculator.calculate("10+10","\\+"));

        AbstractCalculator calculator2 = new Minus();
        System.out.println(calculator2.calculate("10-10","-"));

        AbstractCalculator calculator3 = new Multi();
        System.out.println( calculator3.calculate("10*10","\\*"));
    }
}
